Individuals and organizations are rapidly accumulating large collections of digital image content, including still images, text, graphics, animated graphics, and full-motion video images. This content may be presented individually or combined in a wide variety of different forms, including documents, catalogs, presentations, still photographs, commercial videos, home movies, and metadata describing one or more associated digital content files. As these collections grow in number and diversity, individuals and organizations increasingly will require systems and methods for organizing and presenting the digital content in their collections. To meet this need, a variety of different systems and methods for organizing and presenting digital image content have been proposed.
For example, there are several manual digital image albuming systems that enable users to create digital photo albums manually. These systems typically provide tools for organizing a collection of images and laying out these images on one or more pages. Among the common types of tools for manually creating a digital photo album are tools for selecting a subset of images in the collection that will appear on a page of an album, a graphical user interface for manually rearranging the images on the page, and basic image editing tools for modifying various characteristics, such as size and orientation, of the images that will appear in the album. Users typically find the process of generating a digital photo album using fully manual digital image albuming systems to be tedious and time consuming.
Some automated digital image albuming systems allow users to organize digital images into album pages in accordance with dates and times specified in the metadata associated with the images. These systems also typically allow users to annotate the images appearing in the digital photo album pages. Some automated digital image albuming systems provide various predefined layout templates that a user may select to create a digital photo album. In these systems, the user assigns images from the collection to various predefined image locations on a selected layout template, and the system automatically adjusts the size, placement, rotation, and framing of the images in accordance with parameters specified for the various predefined image locations on the selected template.
Some digital image albuming systems are designed to produce album pages automatically with minimal input from the user. One such system includes a page creator module and an image placement module. The page creator module assigns images in a collection to album pages based on a first genetic evolution algorithm. The image placement module generates genetic structures of page layouts for images that are assigned to a given page based on a second genetic evolution algorithm. These genetic structures define the locations, scales, and rotational orientations of the images that are placed on a given page. A page layout generator module compares these layouts with certain other preferences and page requirements. When a suitable layout has been generated, the final album layout may be displayed, printed, or otherwise transferred for subsequent utilization.
Another automatic digital image albuming system includes a page layout module that presents to a user an album that is organized by event and is laid out automatically based on a set of albuming parameters. The number of images that are laid out on a page is determined by a parametric method or by an analysis of the attributes of the images. The parametric method divides a page into a set of grid squares and determines the number of images to be laid out on the page based on a set of rules for laying out images on the grid squares. In this system, the actual layout of images on a page also may be determined by matching attributes of the images, such as their sizes, to a set of templates.
Another automatic digital image albuming system automatically positions images on a page based on a force model that assumes that each image imposes a force on other images located on the same page. The force is a function of the distance separating the images. The system modifies an initial layout of images on the page by moving each image in a direction of the net force acting on the image by a distance that is a function of the net force.
What are needed are systems and methods of automatically arranging graphic objects on a page that are capable of being guided or controlled by explicit preferences for the relative positions of one or more of the graphic objects in each layout.